// 登录注册管理路由

const express = require('express');

//引入本地组件  数据库操作方法
const db = require('../modules/DBhelper')

//当前时间插件
const moment = require('moment');


//设置路由
let router = express.Router()


//注册操作
router.post('/reg', async function (request, resposne, next) {
   try {
        // request.body 得到前端传过来的数据
    let userObj = request.body;

    // sql操作
    let sql = 'INSERT INTO `users`(`u_name`,`u_pwd`,`u_phone`,`u_createtime`)VALUES(?,?,?,?)';
    let pramas = [
        userObj.uname,
        userObj.upwd,
        userObj.uphone,
        moment().format('YYYY-MM-DD HH:mm:ss')
    ];
    //异步回调函数,使用await 同步执行
    let result = await db.exec(sql, pramas); //返回执行结果
    //如果数据库修改了并且受影响行数大于1  操作成功
    let isReg = result && result.affectedRows >= 1
    let messages = {
        msg: isReg ? '恭喜您,注册成功!' : '注册失败。',
        status: isReg ? 200 : -200
    }
    resposne.json(messages)
    //相应回去页面
   
   } catch (error) {
    resposne.json({
        msg:'注册失败'
    })
   }
})


//登录操作

router.post('/login', async function (request, resposne, next) {
    try {
        let userObj = request.body;
    let sql = 'SELECT *FROM `users` WHERE u_name=? AND u_pwd=?;';
    let params = [
        userObj.uname,
        userObj.upwd
    ];
    let result = await db.exec(sql, params);
    //登录后数据查询操作成功后返回用户的详细信息
    let isLogin = result && result.length >= 1; //说明登录成功
    if (isLogin) {
        delete(result[0].u_pwd); //u_pwd来自于后端数据库
    }
    let messages = {
        msg: isLogin ? '登录成功' : '登录失败',
        data: isLogin ? result : '',
        status: isLogin ? 200 : -200
    }

    resposne.json(messages)
    } catch (error) {
        resposne.json({
            msg:'登录失败'
        })
    }
})


module.exports = {
    router
}